Industrial control devices called as programmable logic controllers (hereinafter, just referred to as PLCs) are provided with a hardware part, which is mainly composed of a CPU and a memory, and a software part for controlling, in order to realize various control, including sequence control. The software part includes designing for a sequence control flow for driving a PLC in accordance with a control system originally designed, converting the control flow into a command language, writing the command language into the memory, and the like operation. In general, this series of operation is called programming process.
Such programming process uses a unique language so that a program can be prepared easily without expert knowledge in computer. Various user-friendly programming languages have been developed. Currently, IEC (International Electrotechnical Commission) sets standard programming languages (IEC 6 1131-3). The standard programming languages are those 5 languages, namely: SFC (Sequential Function Chart); LD (Ladder Diagram); IL (Instruction List); FBD (Function Block Diagram); and ST (Structured Text).
As mentioned above, an environment in which the various programming languages can be used for developing programs is about to be accomplished. For example, the Ladder Diagram (LD), which has been so popular until now because the Ladder Diagram can be designed comparatively easily by using relay symbols, is the most-widely used programming languages, even today. As a programming tool for programming operation using the programming language of this kind, programming software such as a ladder editor has come into wide use. When used in a computer apparatus such as a personal computer, the software is capable of generating a ladder diagram and the like in a symbol-including format, thereby facilitating easy creating and editing of programs.
On the other hand, a programmable display apparatus, which is an HMI (Human Machin Interface) apparatus, is a display apparatus for operation, provided with a dot display screen, an input switch for operation, an interface for communicating with a host controller (PLC), a program memory for control, such as operation of inputting on the screen, and the like parts. In general, the programmable display apparatus, which performs a graphic display, can have functions as an operation panel, a switch, a display lamp, and the like. Further, the programmable display apparatus has functions as, for example, various kinds of monitors for management, such as an operation state of the control-object apparatus (device) or operations instructions, and a terminal for input of a setting value for apparatuses.
Moreover, recently such a programmable display apparatus has been introduced, which has a function of controlling the PLC by having an input-output unit for connecting the control-object apparatus thereto.
A control screen (display content program) displayed on this kind of programmable display apparatus can be generated by a user personally by using screen generating software (screen generating editor). In generating screens, the user generates a control screen that he desires on a personal computer or the like, by using parts (marks) such as a switch, a lamp, ten keys, a meter indicator, a graph indicator and the like, and a graphic function, which are provided by screen generating software.
Moreover, the SCADA (Supervisory Control And Data Acquisition), which is software for supervisory control, has come into wide use as software to provide an HMI environment. The SCADA is highly functional graphic monitoring software for displaying driving operation of a machine and an operation panel of a control panel. Similarly to the screen generating editor, the SCADA is so arranged that the control screen can be generated by using the graphic function for basic figures and prepared-in-advance parts.
Furthermore, the screen generating editor is provided in advance with composite parts in which not only a single function but a plurality of functions are composed. Examples of the composite parts include a composite switch, a counter and the like. For example, the composite switch is composed of a plurality of switches incorporated, and if necessary may be provided with a lamp that operates in a synchronizing manner with operation of the switches. Moreover, the counter is provided with a numeral value indicator for displaying both of a setting value and a counting result, a lamp that is lit up when counting up is done, a button for resetting, and the like. The composite parts of this kind are usually registered in a library format, and are provided in such a manner that the user can arbitrarily select the composite parts on a window of the screen generating editor.
The thus generated control screen is transferred as screen data to the programmable display apparatus, and stored therein. When the PLC is operated, the programmable display apparatus displays the parts or figures on the control screen based on data exchanged between the programmable display apparatus and the PLC, in accordance with the operation state of the control-object apparatus.
By the way, generating (programming) of a control procedure program by using the ladder editor or the like, and generating (screen generating) of a display content program by using screen generating editor are generally carried out independently in general. For example, in case the display content program is generated in accordance with the generated control procedure program, design materials are prepared in advance, which are notes in a table format in which inputted name and address of each device are written down when the control procedure program is generated. The generating of the display content program, including defining I/O addresses and the like, is carried out by looking up the design materials. Moreover, the generating of the control procedure program in accordance with the generated display content program is also carried out in accordance with the design material prepared in advance.
However, those methods requires pre-preparation of the design materials that correspond to thus generated program, thereby causing such a problem that efficiency of operation is lowered. Moreover, in the methods, the programming process is carried out solely by inputting by the user. Therefore, the programming method has low efficiency of operation, thereby having such a problem that its programming process needs a long time.
Because the programming process is carried out by inputting by the user, there is a risk that erroneous input may be caused when one program is generated after generation of another program, by inputting in accordance with the design materials. Moreover, when such erroneous input is caused, there is a problem that more debugging of program is necessary. Furthermore, a lot of time and effort are necessary, because inputting for the generation of the display content program is needed, besides the inputting for the generation of the control procedure program.
Moreover, in the programming method, (a) addresses (I/O addresses) of the devices and (b) allocation of ladder commands and the parts need to be inputted separately, because both of the programs are independently programmed, even though the programs are programmed so that common devices are corresponded in both the programs.
As an invention to solve the drawbacks, Japanese Publication of Unexamined Patent Application No. 11-175326 (published on Jul. 2, 1999) discloses an editing apparatus that corresponds a ladder editor for generating a ladder diagram (ladder program), and a screen generating editor for generating a screen, in terms of ladder symbols (ladder command) and parts (mark) to be allocated in the screen. By dragging and dropping on a screen generating window the ladder symbol displayed on a ladder window, the editing apparatus stores, in a common database, attribute data including names and addresses of control-object apparatuses that have a common symbol and at least one common mark corresponding to the common symbol, meanwhile the editing apparatus displays the mark corresponding to the symbol dragged on the screen generating window, in accordance with the attribute data. Moreover, the editing apparatus is so arranged that the editing apparatus will carries out an operation inverse to that operation. In case where one of the ladder diagram and the screen has been prepared in advance, this enables a user to generate another one easily by dragging and dropping operation or the like operation, in accordance with the one of the ladder diagram and the screen.
However, the editing apparatus disclosed in the publication needs to have separate common databases for storing the attribute data, that is, the ladder file for the ladder editor and screen file for the screen generating editor, even though the editing apparatus use command data so as to avoid repeating input of duplicate data for the ladder editor and the screen generating editor. Further, because the attribute data is stored in both files when the generated ladder diagram (user program) and the screen (user screen) is finally registered respectively in the ladder file and the screen file, thereby registering the attribute data in duplicate, again.
Moreover, the attribute data is copied from the command database to one of the ladder file and the screen file. Thus, in order to use data of an external system between the ladder file and the screen file in common, gone through is such a procedure that the data of the system is copied to the common database, then the data is copied to the ladder file and the screen file.
As described above, because the conventional editing apparatus uses special files for data management, there is a drawback that the database is not used efficiently.
Moreover, in order to give the ladder diagram more-easy-to-look appearance, the ladder diagram generated by the ladder editor shows, beside the ladder symbols as shown in FIG. 84(a), names and operation of the control-object apparatuses (such as a switch and a lamp) corresponding to the ladder symbols, comments and the like. Such incidental information of the ladder symbols are usually inputted by the ladder editor when addresses to the inputted ladder symbols are allotted, in such a manner that the incidental information is allotted together with the addresses.
On the other hand, as shown in FIG. 84(b), it is possible to display parts (for example, the switch or the lamp) on the screen, which is generated by the screen generating editor, the parts being attached with the incidental information regarding the parts. Such incidental information is inputted by the screen generating editor, in such a manner that the incidental information is associated with the addresses, when the parts corresponding to the addresses are allotted onto the base screen.
However, with the above-mentioned method, because the incidental information is inputted individually in the ladder editor and the screen generating editor, the more incidental information to be inputted, the more time and effort are required. Moreover, because the incidental information is written into one program, while looking up the design materials corresponding to another program, there is a risk of occurring of the erroneous input, which makes the debugging of the program difficult. Further, it is necessary to prepare in advance the design materials corresponding to the generated program, thereby lowering the operation efficiency.
Moreover, the editing apparatus is capable of generating the ladder diagram and the screen at the same time, but in an inefficient way. Therefore, in general, it is preferable that one of the ladder diagram and the screen is generated first, followed by generation of the other. Therefore, the above-mentioned method is not suitable for the case where the ladder diagram and the screen are generated at the same time. Hence, in case there is alternation in the ladder command or the mark when one of the ladder diagram and the screen is generated in accordance with the other that has been already generated, it is necessary to correct the program (the ladder diagram or the screen) that has been already generated, thereby causing such a problem that efficiency of the programming is reduced.
Furthermore, the editing apparatus registers, as one program in file, that data regarding the ladder command or the mark, which has been inputted by one of the editors. The editing apparatus uses the data to generate the other of the programs. Because of this, it is impossible to generate one of or both of the programs in accordance with pre-prepared data common to both the programs.
Further, in case the ladder diagram is generated in accordance with the generated screen, the editing apparatus is capable of automatically generating one ladder command for one mark, but is incapable of automatically generating a suitable ladder circuit for the above-described composite parts by incorporating a plurality of the ladder commands.
Furthermore, the editing apparatus has a problem that processing efficiency is low because of a need of copying to the screen generating editor the data (device names, addresses and the like) common to the ladder program and the user screen, every time the ladder symbol is dragged and dropped one by one onto the screen generating window. Moreover, with this method, because the user repeats the dragging and dropping of the ladder symbols from the ladder window to the screen generating window, there is a risk that such erroneous operation that some of the ladder symbols are not dragged and dropped.